package com.tsd.jxc.stock.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.stock.entity.JxcStockInbillItem;
import com.tsd.jxc.stock.entity.JxcStockInbillItemExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcStockInbillItemMapper
 *
 * @author Hillpool
 * @date 2022/07/29 15:06:41
 */
public interface JxcStockInbillItemMapper {

    JxcStockInbillItem selectByPrimaryKey(Long id);

    JxcStockInbillItemExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcStockInbillItem record);

    int insertSelective(JxcStockInbillItem record);

    int updateByPrimaryKey(JxcStockInbillItem record);

    int updateByPrimaryKeySelective(JxcStockInbillItem record);

    List<JxcStockInbillItemExt> selectByEntity(JxcStockInbillItemExt record);

    List<JxcStockInbillItemExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockInbillItemExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockInbillItemExt> selectByParams(@Param("params") Map<String, Object> params);

    int deleteLogicByIdList(BatchDeleteLogicVo logicVo);

    int deleteLogicByBillList(BatchDeleteLogicVo logicVo);

    List<JxcStockInbillItemExt> selectByGoodsName(String goods_name);

    List<JxcStockInbillItemExt> selectBySids(@Param("sids") List<String> sids, @Param("dr") int dr);

    List<String> selectSrcSidBBillSids(@Param("bill_sid") List<String> sids);

    void updateQty4baseByBillSid(@Param("bill_sid") String bill_sid);
}
